<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>WB32L003 Standard Peripherals Firmware Library: cmsis_armcc.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">WB32L003 Standard Peripherals Firmware Library
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_6d2d5b60bd20db849a9486835a2715aa.html">Libraries</a></li><li class="navelem"><a class="el" href="dir_1ccb1ee9d8f9fbf2f118cf2c97585667.html">CMSIS</a></li><li class="navelem"><a class="el" href="dir_f3fc568f2c9c727d9c216dbdb3b50d6d.html">Include</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">cmsis_armcc.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="cmsis__armcc_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/**************************************************************************/</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * Copyright (c) 2009-2018 Arm Limited. All rights reserved.</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * SPDX-License-Identifier: Apache-2.0</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the License); you may</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * not use this file except in compliance with the License.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * You may obtain a copy of the License at</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * distributed under the License is distributed on an AS IS BASIS, WITHOUT</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * limitations under the License.</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#ifndef __CMSIS_ARMCC_H</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#define __CMSIS_ARMCC_H</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#if defined(__ARMCC_VERSION) &amp;&amp; (__ARMCC_VERSION &lt; 400677)</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">  #error &quot;Please use Arm Compiler Toolchain V4.0.677 or later!&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* CMSIS compiler control architecture macros */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#if ((defined (__TARGET_ARCH_6_M  ) &amp;&amp; (__TARGET_ARCH_6_M   == 1)) || \</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">     (defined (__TARGET_ARCH_6S_M ) &amp;&amp; (__TARGET_ARCH_6S_M  == 1))   )</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">  #define __ARM_ARCH_6M__           1</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#if (defined (__TARGET_ARCH_7_M ) &amp;&amp; (__TARGET_ARCH_7_M  == 1))</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">  #define __ARM_ARCH_7M__           1</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#if (defined (__TARGET_ARCH_7E_M) &amp;&amp; (__TARGET_ARCH_7E_M == 1))</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">  #define __ARM_ARCH_7EM__          1</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  <span class="comment">/* __ARM_ARCH_8M_BASE__  not applicable */</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  <span class="comment">/* __ARM_ARCH_8M_MAIN__  not applicable */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">/* CMSIS compiler specific defines */</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#ifndef   __ASM</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">  #define __ASM                                  __asm</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#ifndef   __INLINE</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">  #define __INLINE                               __inline</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#ifndef   __STATIC_INLINE</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">  #define __STATIC_INLINE                        static __inline</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#ifndef   __STATIC_FORCEINLINE                 </span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">  #define __STATIC_FORCEINLINE                   static __forceinline</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#endif           </span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#ifndef   __NO_RETURN</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">  #define __NO_RETURN                            __declspec(noreturn)</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#ifndef   __USED</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">  #define __USED                                 __attribute__((used))</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#ifndef   __WEAK</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">  #define __WEAK                                 __attribute__((weak))</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#ifndef   __PACKED</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">  #define __PACKED                               __attribute__((packed))</span></div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor">#ifndef   __PACKED_STRUCT</span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor">  #define __PACKED_STRUCT                        __packed struct</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor">#ifndef   __PACKED_UNION</span></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor">  #define __PACKED_UNION                         __packed union</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor">#ifndef   __UNALIGNED_UINT32        </span><span class="comment">/* deprecated */</span><span class="preprocessor"></span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">  #define __UNALIGNED_UINT32(x)                  (*((__packed uint32_t *)(x)))</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#ifndef   __UNALIGNED_UINT16_WRITE</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">  #define __UNALIGNED_UINT16_WRITE(addr, val)    ((*((__packed uint16_t *)(addr))) = (val))</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">#ifndef   __UNALIGNED_UINT16_READ</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor">  #define __UNALIGNED_UINT16_READ(addr)          (*((const __packed uint16_t *)(addr)))</span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor">#ifndef   __UNALIGNED_UINT32_WRITE</span></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor">  #define __UNALIGNED_UINT32_WRITE(addr, val)    ((*((__packed uint32_t *)(addr))) = (val))</span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor">#ifndef   __UNALIGNED_UINT32_READ</span></div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="preprocessor">  #define __UNALIGNED_UINT32_READ(addr)          (*((const __packed uint32_t *)(addr)))</span></div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor">#ifndef   __ALIGNED</span></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="preprocessor">  #define __ALIGNED(x)                           __attribute__((aligned(x)))</span></div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="preprocessor">#ifndef   __RESTRICT</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor">  #define __RESTRICT                             __restrict</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">/* ###########################  Core Function Access  ########################### */</span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment">/* intrinsic void __enable_irq();     */</span></div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">/* intrinsic void __disable_irq();    */</span></div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga7dd5c942bee32f055b90153feb950f59">  130</a></span>&#160;__STATIC_INLINE uint32_t <a class="code" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga7dd5c942bee32f055b90153feb950f59">__get_CONTROL</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;{</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  <span class="keyword">register</span> uint32_t __regControl         __ASM(<span class="stringliteral">&quot;control&quot;</span>);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  <span class="keywordflow">return</span>(__regControl);</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;}</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga0102d0939d9b26c5c792be6bf5fd550f">  142</a></span>&#160;__STATIC_INLINE <span class="keywordtype">void</span> <a class="code" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga0102d0939d9b26c5c792be6bf5fd550f">__set_CONTROL</a>(uint32_t control)</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;{</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;  <span class="keyword">register</span> uint32_t __regControl         __ASM(<span class="stringliteral">&quot;control&quot;</span>);</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;  __regControl = control;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;}</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___reg_acc_functions.html#gaf15a71855b9d731d11de92704c82bd18">  154</a></span>&#160;__STATIC_INLINE uint32_t <a class="code" href="group___c_m_s_i_s___core___reg_acc_functions.html#gaf15a71855b9d731d11de92704c82bd18">__get_IPSR</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;{</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <span class="keyword">register</span> uint32_t __regIPSR          __ASM(<span class="stringliteral">&quot;ipsr&quot;</span>);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  <span class="keywordflow">return</span>(__regIPSR);</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;}</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___reg_acc_functions.html#gadff4f1e599946e8ae96fba17b5245f04">  166</a></span>&#160;__STATIC_INLINE uint32_t <a class="code" href="group___c_m_s_i_s___core___reg_acc_functions.html#gadff4f1e599946e8ae96fba17b5245f04">__get_APSR</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;{</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;  <span class="keyword">register</span> uint32_t __regAPSR          __ASM(<span class="stringliteral">&quot;apsr&quot;</span>);</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  <span class="keywordflow">return</span>(__regAPSR);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;}</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga52ca795dc9429ee0ac64ddd12c034834">  178</a></span>&#160;__STATIC_INLINE uint32_t <a class="code" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga52ca795dc9429ee0ac64ddd12c034834">__get_xPSR</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;{</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;  <span class="keyword">register</span> uint32_t __regXPSR          __ASM(<span class="stringliteral">&quot;xpsr&quot;</span>);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;  <span class="keywordflow">return</span>(__regXPSR);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;}</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga826c53e30812e350c77f58aac9f42bcb">  190</a></span>&#160;__STATIC_INLINE uint32_t <a class="code" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga826c53e30812e350c77f58aac9f42bcb">__get_PSP</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;{</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;  <span class="keyword">register</span> uint32_t __regProcessStackPointer  __ASM(<span class="stringliteral">&quot;psp&quot;</span>);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;  <span class="keywordflow">return</span>(__regProcessStackPointer);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;}</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga21f50fc02c3927a8ebf0bc3678c06862">  202</a></span>&#160;__STATIC_INLINE <span class="keywordtype">void</span> <a class="code" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga21f50fc02c3927a8ebf0bc3678c06862">__set_PSP</a>(uint32_t topOfProcStack)</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;{</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;  <span class="keyword">register</span> uint32_t __regProcessStackPointer  __ASM(<span class="stringliteral">&quot;psp&quot;</span>);</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;  __regProcessStackPointer = topOfProcStack;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;}</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga667e7b8b97b4a30f445ae45d37588e45">  214</a></span>&#160;__STATIC_INLINE uint32_t <a class="code" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga667e7b8b97b4a30f445ae45d37588e45">__get_MSP</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;{</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  <span class="keyword">register</span> uint32_t __regMainStackPointer     __ASM(<span class="stringliteral">&quot;msp&quot;</span>);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;  <span class="keywordflow">return</span>(__regMainStackPointer);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;}</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga08b66e2b60a46fada36d90d2bc1e7c9b">  226</a></span>&#160;__STATIC_INLINE <span class="keywordtype">void</span> <a class="code" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga08b66e2b60a46fada36d90d2bc1e7c9b">__set_MSP</a>(uint32_t topOfMainStack)</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;{</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;  <span class="keyword">register</span> uint32_t __regMainStackPointer     __ASM(<span class="stringliteral">&quot;msp&quot;</span>);</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;  __regMainStackPointer = topOfMainStack;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;}</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga4ff59fb9e280d19e79e6875863a65f0a">  238</a></span>&#160;__STATIC_INLINE uint32_t <a class="code" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga4ff59fb9e280d19e79e6875863a65f0a">__get_PRIMASK</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;{</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;  <span class="keyword">register</span> uint32_t __regPriMask         __ASM(<span class="stringliteral">&quot;primask&quot;</span>);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;  <span class="keywordflow">return</span>(__regPriMask);</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;}</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___reg_acc_functions.html#gaf4a17d3be7dbb066489836d849930d92">  250</a></span>&#160;__STATIC_INLINE <span class="keywordtype">void</span> <a class="code" href="group___c_m_s_i_s___core___reg_acc_functions.html#gaf4a17d3be7dbb066489836d849930d92">__set_PRIMASK</a>(uint32_t priMask)</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;{</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;  <span class="keyword">register</span> uint32_t __regPriMask         __ASM(<span class="stringliteral">&quot;primask&quot;</span>);</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  __regPriMask = (priMask);</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;}</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="preprocessor">#if ((defined (__ARM_ARCH_7M__ ) &amp;&amp; (__ARM_ARCH_7M__  == 1)) || \</span></div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="preprocessor">     (defined (__ARM_ARCH_7EM__) &amp;&amp; (__ARM_ARCH_7EM__ == 1))     )</span></div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="preprocessor">#define __enable_fault_irq                __enable_fiq</span></div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="preprocessor">#define __disable_fault_irq               __disable_fiq</span></div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;__STATIC_INLINE uint32_t  __get_BASEPRI(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;{</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;  <span class="keyword">register</span> uint32_t __regBasePri         __ASM(<span class="stringliteral">&quot;basepri&quot;</span>);</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;  <span class="keywordflow">return</span>(__regBasePri);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;}</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;__STATIC_INLINE <span class="keywordtype">void</span> __set_BASEPRI(uint32_t basePri)</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;{</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;  <span class="keyword">register</span> uint32_t __regBasePri         __ASM(<span class="stringliteral">&quot;basepri&quot;</span>);</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;  __regBasePri = (basePri &amp; 0xFFU);</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;}</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;__STATIC_INLINE <span class="keywordtype">void</span> __set_BASEPRI_MAX(uint32_t basePri)</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;{</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;  <span class="keyword">register</span> uint32_t __regBasePriMax      __ASM(<span class="stringliteral">&quot;basepri_max&quot;</span>);</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;  __regBasePriMax = (basePri &amp; 0xFFU);</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;}</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;__STATIC_INLINE uint32_t __get_FAULTMASK(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;{</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;  <span class="keyword">register</span> uint32_t __regFaultMask       __ASM(<span class="stringliteral">&quot;faultmask&quot;</span>);</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;  <span class="keywordflow">return</span>(__regFaultMask);</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;}</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;__STATIC_INLINE <span class="keywordtype">void</span> __set_FAULTMASK(uint32_t faultMask)</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;{</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;  <span class="keyword">register</span> uint32_t __regFaultMask       __ASM(<span class="stringliteral">&quot;faultmask&quot;</span>);</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;  __regFaultMask = (faultMask &amp; (uint32_t)1U);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;}</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* ((defined (__ARM_ARCH_7M__ ) &amp;&amp; (__ARM_ARCH_7M__  == 1)) || \</span></div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="comment">           (defined (__ARM_ARCH_7EM__) &amp;&amp; (__ARM_ARCH_7EM__ == 1))     ) */</span><span class="preprocessor"></span></div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;</div><div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga6a275172e274ea7ce6c22030d07c6c64">  345</a></span>&#160;__STATIC_INLINE uint32_t <a class="code" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga6a275172e274ea7ce6c22030d07c6c64">__get_FPSCR</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;{</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="preprocessor">#if ((defined (__FPU_PRESENT) &amp;&amp; (__FPU_PRESENT == 1U)) &amp;&amp; \</span></div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;<span class="preprocessor">     (defined (__FPU_USED   ) &amp;&amp; (__FPU_USED    == 1U))     )</span></div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;  <span class="keyword">register</span> uint32_t __regfpscr         __ASM(<span class="stringliteral">&quot;fpscr&quot;</span>);</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;  <span class="keywordflow">return</span>(__regfpscr);</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;   <span class="keywordflow">return</span>(0U);</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;}</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;</div><div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga63aa6f7ed41dcaf39cbccb11e812ad4e">  362</a></span>&#160;__STATIC_INLINE <span class="keywordtype">void</span> <a class="code" href="group___c_m_s_i_s___core___reg_acc_functions.html#ga63aa6f7ed41dcaf39cbccb11e812ad4e">__set_FPSCR</a>(uint32_t fpscr)</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;{</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;<span class="preprocessor">#if ((defined (__FPU_PRESENT) &amp;&amp; (__FPU_PRESENT == 1U)) &amp;&amp; \</span></div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="preprocessor">     (defined (__FPU_USED   ) &amp;&amp; (__FPU_USED    == 1U))     )</span></div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;  <span class="keyword">register</span> uint32_t __regfpscr         __ASM(<span class="stringliteral">&quot;fpscr&quot;</span>);</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;  __regfpscr = (fpscr);</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;  (void)fpscr;</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;}</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="comment">/* ##########################  Core Instruction Access  ######################### */</span></div><div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___instruction_interface.html#gabd585ddc865fb9b7f2493af1eee1a572">  387</a></span>&#160;<span class="preprocessor">#define __NOP                             __nop</span></div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;</div><div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___instruction_interface.html#gad23bf2b78a9a4524157c9de0d30b7448">  394</a></span>&#160;<span class="preprocessor">#define __WFI                             __wfi</span></div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;</div><div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___instruction_interface.html#gaac6cc7dd4325d9cb40d3290fa5244b3d">  402</a></span>&#160;<span class="preprocessor">#define __WFE                             __wfe</span></div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;</div><div class="line"><a name="l00409"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___instruction_interface.html#gaab4f296d0022b4b10dc0976eb22052f9">  409</a></span>&#160;<span class="preprocessor">#define __SEV                             __sev</span></div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;</div><div class="line"><a name="l00418"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___instruction_interface.html#gaad233022e850a009fc6f7602be1182f6">  418</a></span>&#160;<span class="preprocessor">#define __ISB() do {\</span></div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;<span class="preprocessor">                   __schedule_barrier();\</span></div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;<span class="preprocessor">                   __isb(0xF);\</span></div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;<span class="preprocessor">                   __schedule_barrier();\</span></div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;<span class="preprocessor">                } while (0U)</span></div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;</div><div class="line"><a name="l00429"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___instruction_interface.html#ga067d257a2b34565410acefb5afef2203">  429</a></span>&#160;<span class="preprocessor">#define __DSB() do {\</span></div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;<span class="preprocessor">                   __schedule_barrier();\</span></div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;<span class="preprocessor">                   __dsb(0xF);\</span></div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;<span class="preprocessor">                   __schedule_barrier();\</span></div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;<span class="preprocessor">                } while (0U)</span></div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;</div><div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___instruction_interface.html#ga671101179b5943990785f36f8c1e2269">  440</a></span>&#160;<span class="preprocessor">#define __DMB() do {\</span></div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="preprocessor">                   __schedule_barrier();\</span></div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;<span class="preprocessor">                   __dmb(0xF);\</span></div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;<span class="preprocessor">                   __schedule_barrier();\</span></div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;<span class="preprocessor">                } while (0U)</span></div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;                  </div><div class="line"><a name="l00453"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___instruction_interface.html#ga14f54807872c0f5e05604c4924abfdae">  453</a></span>&#160;<span class="preprocessor">#define __REV                             __rev</span></div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;<span class="preprocessor">#ifndef __NO_EMBEDDED_ASM</span></div><div class="line"><a name="l00463"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___instruction_interface.html#gae84a2733711339c5eefeb0d899506b96">  463</a></span>&#160;<a class="code" href="group___c_m_s_i_s___core___instruction_interface.html#gae84a2733711339c5eefeb0d899506b96">__attribute__</a>((section(<span class="stringliteral">&quot;.rev16_text&quot;</span>))) __STATIC_INLINE __ASM uint32_t <a class="code" href="group___c_m_s_i_s___core___instruction_interface.html#gaa12aedd096506c9639c1581acd5c6a78">__REV16</a>(uint32_t value)</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;{</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;  rev16 r0, r0</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;  bx lr</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;}</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;<span class="preprocessor">#ifndef __NO_EMBEDDED_ASM</span></div><div class="line"><a name="l00478"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___instruction_interface.html#gabe2b619a40cc0a7ffa8f765249ccf682">  478</a></span>&#160;<a class="code" href="group___c_m_s_i_s___core___instruction_interface.html#gae84a2733711339c5eefeb0d899506b96">__attribute__</a>((section(<span class="stringliteral">&quot;.revsh_text&quot;</span>))) __STATIC_INLINE __ASM int16_t <a class="code" href="group___c_m_s_i_s___core___instruction_interface.html#gacb695341318226a5f69ed508166622ac">__REVSH</a>(int16_t value)</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;{</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;  revsh r0, r0</div><div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;  bx lr</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;}</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;</div><div class="line"><a name="l00493"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___instruction_interface.html#ga95b9bd281ddeda378b85afdb8f2ced86">  493</a></span>&#160;<span class="preprocessor">#define __ROR                             __ror</span></div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;</div><div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___instruction_interface.html#ga15ea6bd3c507d3e81c3b3a1258e46397">  503</a></span>&#160;<span class="preprocessor">#define __BKPT(value)                       __breakpoint(value)</span></div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;</div><div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;<span class="preprocessor">#if ((defined (__ARM_ARCH_7M__ ) &amp;&amp; (__ARM_ARCH_7M__  == 1)) || \</span></div><div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;<span class="preprocessor">     (defined (__ARM_ARCH_7EM__) &amp;&amp; (__ARM_ARCH_7EM__ == 1))     )</span></div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;<span class="preprocessor">  #define __RBIT                          __rbit</span></div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00516"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___instruction_interface.html#gab926fe7178a379c3a7c0410b06fcb661">  516</a></span>&#160;<a class="code" href="group___c_m_s_i_s___core___instruction_interface.html#gae84a2733711339c5eefeb0d899506b96">__attribute__</a>((always_inline)) __STATIC_INLINE uint32_t <a class="code" href="group___c_m_s_i_s___core___instruction_interface.html#gaf944a7b7d8fd70164cca27669316bcf7">__RBIT</a>(uint32_t value)</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;{</div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;  uint32_t result;</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;  uint32_t s = (4U <span class="comment">/*sizeof(v)*/</span> * 8U) - 1U; <span class="comment">/* extra shift needed at end */</span></div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;  result = value;                      <span class="comment">/* r will be reversed bits of v; first get LSB of v */</span></div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;  <span class="keywordflow">for</span> (value &gt;&gt;= 1U; value != 0U; value &gt;&gt;= 1U)</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;  {</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;    result &lt;&lt;= 1U;</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;    result |= value &amp; 1U;</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;    s--;</div><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;  }</div><div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;  result &lt;&lt;= s;                        <span class="comment">/* shift when v&#39;s highest bits are zero */</span></div><div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;  <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;}</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;</div><div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;</div><div class="line"><a name="l00540"></a><span class="lineno"><a class="line" href="group___c_m_s_i_s___core___instruction_interface.html#ga5d5bb1527e042be4a9fa5a33f65cc248">  540</a></span>&#160;<span class="preprocessor">#define __CLZ                             __clz</span></div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;<span class="preprocessor">#if ((defined (__ARM_ARCH_7M__ ) &amp;&amp; (__ARM_ARCH_7M__  == 1)) || \</span></div><div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;<span class="preprocessor">     (defined (__ARM_ARCH_7EM__) &amp;&amp; (__ARM_ARCH_7EM__ == 1))     )</span></div><div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;<span class="preprocessor">#if defined(__ARMCC_VERSION) &amp;&amp; (__ARMCC_VERSION &lt; 5060020)</span></div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;<span class="preprocessor">  #define __LDREXB(ptr)                                                        ((uint8_t ) __ldrex(ptr))</span></div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;<span class="preprocessor">  #define __LDREXB(ptr)          _Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) ((uint8_t ) __ldrex(ptr))  _Pragma(&quot;pop&quot;)</span></div><div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;</div><div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;<span class="preprocessor">#if defined(__ARMCC_VERSION) &amp;&amp; (__ARMCC_VERSION &lt; 5060020)</span></div><div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;<span class="preprocessor">  #define __LDREXH(ptr)                                                        ((uint16_t) __ldrex(ptr))</span></div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;<span class="preprocessor">  #define __LDREXH(ptr)          _Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) ((uint16_t) __ldrex(ptr))  _Pragma(&quot;pop&quot;)</span></div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;</div><div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;</div><div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;<span class="preprocessor">#if defined(__ARMCC_VERSION) &amp;&amp; (__ARMCC_VERSION &lt; 5060020)</span></div><div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;<span class="preprocessor">  #define __LDREXW(ptr)                                                        ((uint32_t ) __ldrex(ptr))</span></div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;<span class="preprocessor">  #define __LDREXW(ptr)          _Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) ((uint32_t ) __ldrex(ptr))  _Pragma(&quot;pop&quot;)</span></div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;</div><div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;</div><div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;<span class="preprocessor">#if defined(__ARMCC_VERSION) &amp;&amp; (__ARMCC_VERSION &lt; 5060020)</span></div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;<span class="preprocessor">  #define __STREXB(value, ptr)                                                 __strex(value, ptr)</span></div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;<span class="preprocessor">  #define __STREXB(value, ptr)   _Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) __strex(value, ptr)        _Pragma(&quot;pop&quot;)</span></div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;</div><div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;<span class="preprocessor">#if defined(__ARMCC_VERSION) &amp;&amp; (__ARMCC_VERSION &lt; 5060020)</span></div><div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;<span class="preprocessor">  #define __STREXH(value, ptr)                                                 __strex(value, ptr)</span></div><div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;<span class="preprocessor">  #define __STREXH(value, ptr)   _Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) __strex(value, ptr)        _Pragma(&quot;pop&quot;)</span></div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;</div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;<span class="preprocessor">#if defined(__ARMCC_VERSION) &amp;&amp; (__ARMCC_VERSION &lt; 5060020)</span></div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;<span class="preprocessor">  #define __STREXW(value, ptr)                                                 __strex(value, ptr)</span></div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;<span class="preprocessor">  #define __STREXW(value, ptr)   _Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) __strex(value, ptr)        _Pragma(&quot;pop&quot;)</span></div><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;</div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;<span class="preprocessor">#define __CLREX                           __clrex</span></div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;</div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;<span class="preprocessor">#define __SSAT                            __ssat</span></div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;</div><div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;<span class="preprocessor">#define __USAT                            __usat</span></div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;</div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;<span class="preprocessor">#ifndef __NO_EMBEDDED_ASM</span></div><div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;<a class="code" href="group___c_m_s_i_s___core___instruction_interface.html#gae84a2733711339c5eefeb0d899506b96">__attribute__</a>((section(<span class="stringliteral">&quot;.rrx_text&quot;</span>))) __STATIC_INLINE __ASM uint32_t __RRX(uint32_t value)</div><div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;{</div><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;  rrx r0, r0</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;  bx lr</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;}</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;</div><div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;</div><div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;<span class="preprocessor">#define __LDRBT(ptr)                      ((uint8_t )  __ldrt(ptr))</span></div><div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;</div><div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;</div><div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;<span class="preprocessor">#define __LDRHT(ptr)                      ((uint16_t)  __ldrt(ptr))</span></div><div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;</div><div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;</div><div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;<span class="preprocessor">#define __LDRT(ptr)                       ((uint32_t ) __ldrt(ptr))</span></div><div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;</div><div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;</div><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;<span class="preprocessor">#define __STRBT(value, ptr)               __strt(value, ptr)</span></div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;</div><div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;<span class="preprocessor">#define __STRHT(value, ptr)               __strt(value, ptr)</span></div><div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;</div><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;</div><div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;<span class="preprocessor">#define __STRT(value, ptr)                __strt(value, ptr)</span></div><div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;</div><div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;<span class="preprocessor">#else  </span><span class="comment">/* ((defined (__ARM_ARCH_7M__ ) &amp;&amp; (__ARM_ARCH_7M__  == 1)) || \</span></div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;<span class="comment">           (defined (__ARM_ARCH_7EM__) &amp;&amp; (__ARM_ARCH_7EM__ == 1))     ) */</span><span class="preprocessor"></span></div><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;</div><div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;<a class="code" href="group___c_m_s_i_s___core___instruction_interface.html#gae84a2733711339c5eefeb0d899506b96">__attribute__</a>((always_inline)) __STATIC_INLINE int32_t <a class="code" href="group___c_m_s_i_s___core___instruction_interface.html#ga372c0535573dde3e37f0f08c774a3487">__SSAT</a>(int32_t val, uint32_t sat)</div><div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;{</div><div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;  <span class="keywordflow">if</span> ((sat &gt;= 1U) &amp;&amp; (sat &lt;= 32U))</div><div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;  {</div><div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;    <span class="keyword">const</span> int32_t max = (int32_t)((1U &lt;&lt; (sat - 1U)) - 1U);</div><div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;    <span class="keyword">const</span> int32_t min = -1 - max ;</div><div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;    <span class="keywordflow">if</span> (val &gt; max)</div><div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;    {</div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;      <span class="keywordflow">return</span> max;</div><div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;    }</div><div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (val &lt; min)</div><div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;    {</div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;      <span class="keywordflow">return</span> min;</div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;    }</div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;  }</div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;  <span class="keywordflow">return</span> val;</div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;}</div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;</div><div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;<a class="code" href="group___c_m_s_i_s___core___instruction_interface.html#gae84a2733711339c5eefeb0d899506b96">__attribute__</a>((always_inline)) __STATIC_INLINE uint32_t <a class="code" href="group___c_m_s_i_s___core___instruction_interface.html#ga6562dbd8182d1571e22dbca7ebdfa9bc">__USAT</a>(int32_t val, uint32_t sat)</div><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;{</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;  <span class="keywordflow">if</span> (sat &lt;= 31U)</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;  {</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;    <span class="keyword">const</span> uint32_t max = ((1U &lt;&lt; sat) - 1U);</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;    <span class="keywordflow">if</span> (val &gt; (int32_t)max)</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;    {</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;      <span class="keywordflow">return</span> max;</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;    }</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (val &lt; 0)</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;    {</div><div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;      <span class="keywordflow">return</span> 0U;</div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;    }</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;  }</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;  <span class="keywordflow">return</span> (uint32_t)val;</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;}</div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* ((defined (__ARM_ARCH_7M__ ) &amp;&amp; (__ARM_ARCH_7M__  == 1)) || \</span></div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;<span class="comment">           (defined (__ARM_ARCH_7EM__) &amp;&amp; (__ARM_ARCH_7EM__ == 1))     ) */</span><span class="preprocessor"></span></div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160; <span class="comment">/* end of group CMSIS_Core_InstructionInterface */</span></div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;</div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;<span class="comment">/* ###################  Compiler specific Intrinsics  ########################### */</span></div><div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;<span class="preprocessor">#if ((defined (__ARM_ARCH_7EM__) &amp;&amp; (__ARM_ARCH_7EM__ == 1))     )</span></div><div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;<span class="preprocessor">#define __SADD8                           __sadd8</span></div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;<span class="preprocessor">#define __QADD8                           __qadd8</span></div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;<span class="preprocessor">#define __SHADD8                          __shadd8</span></div><div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;<span class="preprocessor">#define __UADD8                           __uadd8</span></div><div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;<span class="preprocessor">#define __UQADD8                          __uqadd8</span></div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;<span class="preprocessor">#define __UHADD8                          __uhadd8</span></div><div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;<span class="preprocessor">#define __SSUB8                           __ssub8</span></div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;<span class="preprocessor">#define __QSUB8                           __qsub8</span></div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;<span class="preprocessor">#define __SHSUB8                          __shsub8</span></div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;<span class="preprocessor">#define __USUB8                           __usub8</span></div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;<span class="preprocessor">#define __UQSUB8                          __uqsub8</span></div><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;<span class="preprocessor">#define __UHSUB8                          __uhsub8</span></div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;<span class="preprocessor">#define __SADD16                          __sadd16</span></div><div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;<span class="preprocessor">#define __QADD16                          __qadd16</span></div><div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;<span class="preprocessor">#define __SHADD16                         __shadd16</span></div><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;<span class="preprocessor">#define __UADD16                          __uadd16</span></div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;<span class="preprocessor">#define __UQADD16                         __uqadd16</span></div><div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;<span class="preprocessor">#define __UHADD16                         __uhadd16</span></div><div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;<span class="preprocessor">#define __SSUB16                          __ssub16</span></div><div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;<span class="preprocessor">#define __QSUB16                          __qsub16</span></div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;<span class="preprocessor">#define __SHSUB16                         __shsub16</span></div><div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;<span class="preprocessor">#define __USUB16                          __usub16</span></div><div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;<span class="preprocessor">#define __UQSUB16                         __uqsub16</span></div><div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;<span class="preprocessor">#define __UHSUB16                         __uhsub16</span></div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;<span class="preprocessor">#define __SASX                            __sasx</span></div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;<span class="preprocessor">#define __QASX                            __qasx</span></div><div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;<span class="preprocessor">#define __SHASX                           __shasx</span></div><div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;<span class="preprocessor">#define __UASX                            __uasx</span></div><div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;<span class="preprocessor">#define __UQASX                           __uqasx</span></div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;<span class="preprocessor">#define __UHASX                           __uhasx</span></div><div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;<span class="preprocessor">#define __SSAX                            __ssax</span></div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;<span class="preprocessor">#define __QSAX                            __qsax</span></div><div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;<span class="preprocessor">#define __SHSAX                           __shsax</span></div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;<span class="preprocessor">#define __USAX                            __usax</span></div><div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;<span class="preprocessor">#define __UQSAX                           __uqsax</span></div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;<span class="preprocessor">#define __UHSAX                           __uhsax</span></div><div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;<span class="preprocessor">#define __USAD8                           __usad8</span></div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;<span class="preprocessor">#define __USADA8                          __usada8</span></div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;<span class="preprocessor">#define __SSAT16                          __ssat16</span></div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;<span class="preprocessor">#define __USAT16                          __usat16</span></div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;<span class="preprocessor">#define __UXTB16                          __uxtb16</span></div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;<span class="preprocessor">#define __UXTAB16                         __uxtab16</span></div><div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;<span class="preprocessor">#define __SXTB16                          __sxtb16</span></div><div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;<span class="preprocessor">#define __SXTAB16                         __sxtab16</span></div><div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;<span class="preprocessor">#define __SMUAD                           __smuad</span></div><div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;<span class="preprocessor">#define __SMUADX                          __smuadx</span></div><div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;<span class="preprocessor">#define __SMLAD                           __smlad</span></div><div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;<span class="preprocessor">#define __SMLADX                          __smladx</span></div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;<span class="preprocessor">#define __SMLALD                          __smlald</span></div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;<span class="preprocessor">#define __SMLALDX                         __smlaldx</span></div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;<span class="preprocessor">#define __SMUSD                           __smusd</span></div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;<span class="preprocessor">#define __SMUSDX                          __smusdx</span></div><div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;<span class="preprocessor">#define __SMLSD                           __smlsd</span></div><div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;<span class="preprocessor">#define __SMLSDX                          __smlsdx</span></div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;<span class="preprocessor">#define __SMLSLD                          __smlsld</span></div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;<span class="preprocessor">#define __SMLSLDX                         __smlsldx</span></div><div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;<span class="preprocessor">#define __SEL                             __sel</span></div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;<span class="preprocessor">#define __QADD                            __qadd</span></div><div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;<span class="preprocessor">#define __QSUB                            __qsub</span></div><div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;<span class="preprocessor">#define __PKHBT(ARG1,ARG2,ARG3)          ( ((((uint32_t)(ARG1))          ) &amp; 0x0000FFFFUL) |  \</span></div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;<span class="preprocessor">                                           ((((uint32_t)(ARG2)) &lt;&lt; (ARG3)) &amp; 0xFFFF0000UL)  )</span></div><div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;</div><div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;<span class="preprocessor">#define __PKHTB(ARG1,ARG2,ARG3)          ( ((((uint32_t)(ARG1))          ) &amp; 0xFFFF0000UL) |  \</span></div><div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;<span class="preprocessor">                                           ((((uint32_t)(ARG2)) &gt;&gt; (ARG3)) &amp; 0x0000FFFFUL)  )</span></div><div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;</div><div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;<span class="preprocessor">#define __SMMLA(ARG1,ARG2,ARG3)          ( (int32_t)((((int64_t)(ARG1) * (ARG2)) + \</span></div><div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;<span class="preprocessor">                                                      ((int64_t)(ARG3) &lt;&lt; 32U)     ) &gt;&gt; 32U))</span></div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;</div><div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* ((defined (__ARM_ARCH_7EM__) &amp;&amp; (__ARM_ARCH_7EM__ == 1))     ) */</span><span class="preprocessor"></span></div><div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;</div><div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* __CMSIS_ARMCC_H */</span><span class="preprocessor"></span></div><div class="ttc" id="group___c_m_s_i_s___core___reg_acc_functions_html_ga7dd5c942bee32f055b90153feb950f59"><div class="ttname"><a href="group___c_m_s_i_s___core___reg_acc_functions.html#ga7dd5c942bee32f055b90153feb950f59">__get_CONTROL</a></div><div class="ttdeci">__STATIC_INLINE uint32_t __get_CONTROL(void)</div><div class="ttdoc">Enable IRQ Interrupts.</div><div class="ttdef"><b>Definition:</b> cmsis_armcc.h:130</div></div>
<div class="ttc" id="group___c_m_s_i_s___core___reg_acc_functions_html_gaf15a71855b9d731d11de92704c82bd18"><div class="ttname"><a href="group___c_m_s_i_s___core___reg_acc_functions.html#gaf15a71855b9d731d11de92704c82bd18">__get_IPSR</a></div><div class="ttdeci">__STATIC_INLINE uint32_t __get_IPSR(void)</div><div class="ttdoc">Get IPSR Register.</div><div class="ttdef"><b>Definition:</b> cmsis_armcc.h:154</div></div>
<div class="ttc" id="group___c_m_s_i_s___core___instruction_interface_html_ga6562dbd8182d1571e22dbca7ebdfa9bc"><div class="ttname"><a href="group___c_m_s_i_s___core___instruction_interface.html#ga6562dbd8182d1571e22dbca7ebdfa9bc">__USAT</a></div><div class="ttdeci">__STATIC_FORCEINLINE uint32_t __USAT(int32_t val, uint32_t sat)</div><div class="ttdoc">Unsigned Saturate.</div><div class="ttdef"><b>Definition:</b> cmsis_armclang.h:1146</div></div>
<div class="ttc" id="group___c_m_s_i_s___core___reg_acc_functions_html_ga826c53e30812e350c77f58aac9f42bcb"><div class="ttname"><a href="group___c_m_s_i_s___core___reg_acc_functions.html#ga826c53e30812e350c77f58aac9f42bcb">__get_PSP</a></div><div class="ttdeci">__STATIC_INLINE uint32_t __get_PSP(void)</div><div class="ttdoc">Get Process Stack Pointer.</div><div class="ttdef"><b>Definition:</b> cmsis_armcc.h:190</div></div>
<div class="ttc" id="group___c_m_s_i_s___core___instruction_interface_html_gae84a2733711339c5eefeb0d899506b96"><div class="ttname"><a href="group___c_m_s_i_s___core___instruction_interface.html#gae84a2733711339c5eefeb0d899506b96">__attribute__</a></div><div class="ttdeci">__attribute__((section(&quot;.rev16_text&quot;))) __STATIC_INLINE __ASM uint32_t __REV16(uint32_t value)</div><div class="ttdoc">Reverse byte order (16 bit)</div><div class="ttdef"><b>Definition:</b> cmsis_armcc.h:463</div></div>
<div class="ttc" id="group___c_m_s_i_s___core___reg_acc_functions_html_ga21f50fc02c3927a8ebf0bc3678c06862"><div class="ttname"><a href="group___c_m_s_i_s___core___reg_acc_functions.html#ga21f50fc02c3927a8ebf0bc3678c06862">__set_PSP</a></div><div class="ttdeci">__STATIC_INLINE void __set_PSP(uint32_t topOfProcStack)</div><div class="ttdoc">Set Process Stack Pointer.</div><div class="ttdef"><b>Definition:</b> cmsis_armcc.h:202</div></div>
<div class="ttc" id="group___c_m_s_i_s___core___reg_acc_functions_html_ga52ca795dc9429ee0ac64ddd12c034834"><div class="ttname"><a href="group___c_m_s_i_s___core___reg_acc_functions.html#ga52ca795dc9429ee0ac64ddd12c034834">__get_xPSR</a></div><div class="ttdeci">__STATIC_INLINE uint32_t __get_xPSR(void)</div><div class="ttdoc">Get xPSR Register.</div><div class="ttdef"><b>Definition:</b> cmsis_armcc.h:178</div></div>
<div class="ttc" id="group___c_m_s_i_s___core___instruction_interface_html_gacb695341318226a5f69ed508166622ac"><div class="ttname"><a href="group___c_m_s_i_s___core___instruction_interface.html#gacb695341318226a5f69ed508166622ac">__REVSH</a></div><div class="ttdeci">__STATIC_FORCEINLINE int16_t __REVSH(int16_t value)</div><div class="ttdoc">Reverse byte order (16 bit)</div><div class="ttdef"><b>Definition:</b> cmsis_gcc.h:934</div></div>
<div class="ttc" id="group___c_m_s_i_s___core___reg_acc_functions_html_ga08b66e2b60a46fada36d90d2bc1e7c9b"><div class="ttname"><a href="group___c_m_s_i_s___core___reg_acc_functions.html#ga08b66e2b60a46fada36d90d2bc1e7c9b">__set_MSP</a></div><div class="ttdeci">__STATIC_INLINE void __set_MSP(uint32_t topOfMainStack)</div><div class="ttdoc">Set Main Stack Pointer.</div><div class="ttdef"><b>Definition:</b> cmsis_armcc.h:226</div></div>
<div class="ttc" id="group___c_m_s_i_s___core___reg_acc_functions_html_gaf4a17d3be7dbb066489836d849930d92"><div class="ttname"><a href="group___c_m_s_i_s___core___reg_acc_functions.html#gaf4a17d3be7dbb066489836d849930d92">__set_PRIMASK</a></div><div class="ttdeci">__STATIC_INLINE void __set_PRIMASK(uint32_t priMask)</div><div class="ttdoc">Set Priority Mask.</div><div class="ttdef"><b>Definition:</b> cmsis_armcc.h:250</div></div>
<div class="ttc" id="group___c_m_s_i_s___core___instruction_interface_html_gaa12aedd096506c9639c1581acd5c6a78"><div class="ttname"><a href="group___c_m_s_i_s___core___instruction_interface.html#gaa12aedd096506c9639c1581acd5c6a78">__REV16</a></div><div class="ttdeci">__STATIC_FORCEINLINE uint32_t __REV16(uint32_t value)</div><div class="ttdoc">Reverse byte order (16 bit)</div><div class="ttdef"><b>Definition:</b> cmsis_gcc.h:919</div></div>
<div class="ttc" id="group___c_m_s_i_s___core___instruction_interface_html_gaf944a7b7d8fd70164cca27669316bcf7"><div class="ttname"><a href="group___c_m_s_i_s___core___instruction_interface.html#gaf944a7b7d8fd70164cca27669316bcf7">__RBIT</a></div><div class="ttdeci">__STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value)</div><div class="ttdoc">Reverse bit order of value.</div><div class="ttdef"><b>Definition:</b> cmsis_gcc.h:981</div></div>
<div class="ttc" id="group___c_m_s_i_s___core___reg_acc_functions_html_ga63aa6f7ed41dcaf39cbccb11e812ad4e"><div class="ttname"><a href="group___c_m_s_i_s___core___reg_acc_functions.html#ga63aa6f7ed41dcaf39cbccb11e812ad4e">__set_FPSCR</a></div><div class="ttdeci">__STATIC_INLINE void __set_FPSCR(uint32_t fpscr)</div><div class="ttdoc">Set FPSCR.</div><div class="ttdef"><b>Definition:</b> cmsis_armcc.h:362</div></div>
<div class="ttc" id="group___c_m_s_i_s___core___reg_acc_functions_html_gadff4f1e599946e8ae96fba17b5245f04"><div class="ttname"><a href="group___c_m_s_i_s___core___reg_acc_functions.html#gadff4f1e599946e8ae96fba17b5245f04">__get_APSR</a></div><div class="ttdeci">__STATIC_INLINE uint32_t __get_APSR(void)</div><div class="ttdoc">Get APSR Register.</div><div class="ttdef"><b>Definition:</b> cmsis_armcc.h:166</div></div>
<div class="ttc" id="group___c_m_s_i_s___core___reg_acc_functions_html_ga4ff59fb9e280d19e79e6875863a65f0a"><div class="ttname"><a href="group___c_m_s_i_s___core___reg_acc_functions.html#ga4ff59fb9e280d19e79e6875863a65f0a">__get_PRIMASK</a></div><div class="ttdeci">__STATIC_INLINE uint32_t __get_PRIMASK(void)</div><div class="ttdoc">Get Priority Mask.</div><div class="ttdef"><b>Definition:</b> cmsis_armcc.h:238</div></div>
<div class="ttc" id="group___c_m_s_i_s___core___reg_acc_functions_html_ga667e7b8b97b4a30f445ae45d37588e45"><div class="ttname"><a href="group___c_m_s_i_s___core___reg_acc_functions.html#ga667e7b8b97b4a30f445ae45d37588e45">__get_MSP</a></div><div class="ttdeci">__STATIC_INLINE uint32_t __get_MSP(void)</div><div class="ttdoc">Get Main Stack Pointer.</div><div class="ttdef"><b>Definition:</b> cmsis_armcc.h:214</div></div>
<div class="ttc" id="group___c_m_s_i_s___core___reg_acc_functions_html_ga6a275172e274ea7ce6c22030d07c6c64"><div class="ttname"><a href="group___c_m_s_i_s___core___reg_acc_functions.html#ga6a275172e274ea7ce6c22030d07c6c64">__get_FPSCR</a></div><div class="ttdeci">__STATIC_INLINE uint32_t __get_FPSCR(void)</div><div class="ttdoc">Get FPSCR.</div><div class="ttdef"><b>Definition:</b> cmsis_armcc.h:345</div></div>
<div class="ttc" id="group___c_m_s_i_s___core___reg_acc_functions_html_ga0102d0939d9b26c5c792be6bf5fd550f"><div class="ttname"><a href="group___c_m_s_i_s___core___reg_acc_functions.html#ga0102d0939d9b26c5c792be6bf5fd550f">__set_CONTROL</a></div><div class="ttdeci">__STATIC_INLINE void __set_CONTROL(uint32_t control)</div><div class="ttdoc">Set Control Register.</div><div class="ttdef"><b>Definition:</b> cmsis_armcc.h:142</div></div>
<div class="ttc" id="group___c_m_s_i_s___core___instruction_interface_html_ga372c0535573dde3e37f0f08c774a3487"><div class="ttname"><a href="group___c_m_s_i_s___core___instruction_interface.html#ga372c0535573dde3e37f0f08c774a3487">__SSAT</a></div><div class="ttdeci">__STATIC_FORCEINLINE int32_t __SSAT(int32_t val, uint32_t sat)</div><div class="ttdoc">Signed Saturate.</div><div class="ttdef"><b>Definition:</b> cmsis_armclang.h:1121</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by Westberry Technology (ChangZhou) Corp., Ltd. All rights reserved.
</small></address>
</body>
</html>
